/**
 * @author 14544
 * @date 2020/3/26 11:19
 */

let TEST_URL = '/gov/gov.do?methodname=queryDocStatuses&serviceid=gov_status';
// 终止请求
{
    let createBtn = document.createElement('button');
    createBtn.innerText = '创建请求';

    let sendBtn = document.createElement('button');
    sendBtn.innerText = '发送请求';

    let abortBtn = document.createElement('button');
    abortBtn.innerText = '终止请求'

    document.getElementById('app').appendChild(createBtn)
    document.getElementById('app').appendChild(sendBtn)
    document.getElementById('app').appendChild(abortBtn)


    function createHttp(){
        const xhr = new XMLHttpRequest();
        xhr.responseType = 'json';
        // 请求成功
        xhr.onload = function(){
            console.log(`loaded status:${xhr.status}`)
            console.log(xhr.response || xhr.responseText)
        }
        // 请求失败
        xhr.onerror = function(){
            console.log(`failed status:${xhr.status}`)
        }
        // 终止请求
        xhr.onabort = function(event){
            console.log(event)
            console.log(`abort status:${xhr.status}`)
        }
        xhr.open('GET',TEST_URL,true);
        return xhr
    }

    let xhr = createHttp()

    // 点击创建请求
    createBtn.onclick = function () {
        xhr = createHttp()
    }

    // 点击发送请求
    sendBtn.onclick = function () {
        xhr.send(null)
    }

    // 点击终止请求
    abortBtn.onclick = function () {
        xhr.abort()  // 它将会触发 onabort 事件且 xhr.status 变为 0。
    }
}